interface User {
    id: number;
    name: string;
}

async function fetchUser(id: number): Promise<User> {//或者返回Promise<any>
    return new Promise(resolve => {
        setTimeout(() => {
            resolve({ id, name: `User ${id}` });
        }, 1000);
    });
}

const userPromises: Promise<User>[] = [
    fetchUser(1),
    fetchUser(2),
    fetchUser(3)
];

Promise.all(userPromises)
    .then(users => {
        console.log(users);
        // 输出: 
        // [
        //     { id: 1, name: 'User 1' },
        //     { id: 2, name: 'User 2' },
        //     { id: 3, name: 'User 3' }
        // ]
    })
    .catch(error => {
        console.error('Error:', error);
    });



// promises: Array<() => Promise<any>>定义了一个名为promises的变量或属性，它的类型是一个数组，数组中的每个元素都是一个没有参数且返回一个Promise的函数。